using Net35.Xrm.Sdk.Query;
using System;
namespace Net35.Xrm.Sdk
{
	[KnownAssembly, System.ServiceModel.ServiceContract(Name = "IOrganizationService", Namespace = "http://schemas.microsoft.com/xrm/2011/Contracts/Services")]
	public partial interface IOrganizationService
	{
		[System.ServiceModel.FaultContract(typeof(OrganizationServiceFault)), System.ServiceModel.OperationContract]
		Guid Create(Entity entity);
		[System.ServiceModel.FaultContract(typeof(OrganizationServiceFault)), System.ServiceModel.OperationContract]
		Entity Retrieve(string entityName, Guid id, ColumnSet columnSet);
		[System.ServiceModel.FaultContract(typeof(OrganizationServiceFault)), System.ServiceModel.OperationContract]
		void Update(Entity entity);
		[System.ServiceModel.FaultContract(typeof(OrganizationServiceFault)), System.ServiceModel.OperationContract]
		void Delete(string entityName, Guid id);
		[System.ServiceModel.FaultContract(typeof(OrganizationServiceFault)), System.ServiceModel.OperationContract]
		OrganizationResponse Execute(OrganizationRequest request);
		[System.ServiceModel.FaultContract(typeof(OrganizationServiceFault)), System.ServiceModel.OperationContract]
		void Associate(string entityName, Guid entityId, Relationship relationship, EntityReferenceCollection relatedEntities);
		[System.ServiceModel.FaultContract(typeof(OrganizationServiceFault)), System.ServiceModel.OperationContract]
		void Disassociate(string entityName, Guid entityId, Relationship relationship, EntityReferenceCollection relatedEntities);
		[System.ServiceModel.FaultContract(typeof(OrganizationServiceFault)), System.ServiceModel.OperationContract]
		EntityCollection RetrieveMultiple(QueryBase query);
	}
}